Data storage systems are used to store large amounts of data. Some examples are various Redundant Array of Independent Disks or RAID systems. RAID systems incorporate two or more hard disk storage devices in different configurations to optimize speed by ‘striping’ or redundancy by creating parity blocks from XOR'ing several blocks together. Many RAID systems can tolerate one and sometimes two disks to fail while retaining all of the data on the system. If more than a specific number of disks fail, then none of the data on the system can be recovered.